<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>05_姓名案例_监视</title>
    <script src="../js/vue.js"></script>
</head>
<body>
  <div id="root">
    姓:<input type="text" v-model="firstname"><br>
    名:<input type="text" v-model="lastname"><br>
    全名:<span>{{fullName}}</span>
  </div>
  <script>
    Vue.config.devtools = true;
    Vue.config.productionTip = false;
    const vm = new Vue({
      el:'#root',
      data:{
        firstname:'张',
        lastname:'三',
        fullName:'张-三'
      },
      // 用监视来做 可以写一些异步操作  比如 定时器的操作
      watch:{
          firstname(value) {
              //这里必须写成 箭头函数 箭头函数没有this 只能在外面找 会找到 vm作为this的指向 写成标准函数的话 this会指向windows 因为是windows调用的这个函数
              //而 用计算属性就做不到这样
              setTimeout(() => {
                  this.fullName = value + '-' + this.lastname;
              },1000)
          },
          lastname(value) {
              this.fullName = this.firstname + '-' + value;
          }
      }
    });
  </script>
</body>
</html>